package com.mg.common.exception;

import lombok.Getter;

/**
 * 基础异常
 * 所有自定义异常的父类
 *
 * @author tomyeung-李尐达
 */
@Getter
public class BaseException extends RuntimeException {
    private static String NAME = "\n[异常系统]\n";
    private MGExceptionEnum enu;

    public BaseException() {
    }

    ;

    /**
     * @param enu 自定义异常枚举类
     */
    public BaseException(MGExceptionEnum enu) {
        super(getInfo(enu.getCode(), enu.getMsg()));
        this.enu = enu;
    }


    /**
     * @param code 错误代码
     * @param msg  提示消息
     */
    public BaseException(Integer code, String msg) {
        super(getInfo(code, msg));
        this.enu = enu;
    }

    /**
     * 获得异常错误信息
     *
     * @param code 错误代码
     * @param msg  提示消息
     * @return
     */
    private static String getInfo(Integer code, String msg) {
        return String.format("%s\t错误代码:%d\n\t%s:", NAME, code, msg);
    }
}
